關於三項平行處理功能必須要知道的事

專案並行化關鍵概念

  1. Scaling 可擴充性

    你的應用程式有多大潛力可以擴展至N個處理器?

    以免每隔幾年便要回頭重新設計

    獲得擴展能力的最佳方法是 "尋找有助於擴展的解決方案"

  2. Correctness 正確性

    你如何保證平行處理程式將會正確運行?

    只會發生在平行處理程式的問題

    • 競賽條件 Race condition

      平行運行的兩個任務(不同處理器上運行的兩個執行緒未能正確協調各自的活動)

      導致其中一條緒誤以為發生了錯誤而停止運行

      非常難Debug

    • 鎖死 DeadLock

      有多條執行緒,其中兩條緒互相等待,結果一直等待下去

用專為順序執行程式設計的工具很難處理這類問題 (因為不是用來寫平行處理程式的所以
平常不會遇到這種問題)
  1. Maintainability 可維護性

    使用越高階的抽象(abstraction)你的編碼就更容易維護

results matching ""

    No results matching ""